home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr47
/
ptime_10.zip
/
PHILTIME.ASM
< prev
next >
Wrap
Assembly Source File
|
1992-10-07
|
2KB
|
108 lines
ideal
include "PhilTime.I"
extrn displayFirst:byte,displayLast:byte
extrn tickHandler:far,oldTickHandler:dword
extrn hackMem:far
segment hackTime
assume cs:hackTime
bannerString
newBlock dw ?
PSP dw ?
proc savePSP
assume ds:nothing
mov [PSP],ds
ret
endp savePSP
proc printBanner
assume ds:hackTime
push cs
pop ds
mov ah,9
mov dx,offset banner
int 21h
ret
endp printBanner
proc saveOldTickHandler
assume ds:seg(oldTickHandler)
mov ax,seg(oldTickHandler)
mov ds,ax
mov ax,351ch
int 21h
mov [word ptr oldTickHandler],bx
mov bx,es
mov [word ptr oldTickHandler+2],bx
ret
endp saveOldTickHandler
proc requestMemory
;I don't know if request is quite the right word for it!
assume ds:nothing
mov dx,offset displayLast
sub dx,offset displayFirst
add dx,15
mov cl,4
shr dx,cl
call hackMem
mov [newBlock],dx
ret
endp requestMemory
proc releaseMemory
assume ds:nothing
mov ds,[PSP]
mov ax,[ds:2ch]
mov es,ax
mov ah,49h
int 21h
ret
endp releaseMemory
proc copyTickHandler
assume ds:seg(displayFirst)
mov ax,seg(displayFirst)
mov ds,ax
mov es,[newBlock]
mov cx,offset displayLast
sub cx,offset displayFirst
mov si,offset displayFirst
mov di,0
rep movsb
ret
endp copyTickHandler
proc installTickHandler
assume ds:nothing
mov ds,[newBlock]
mov dx,offset tickHandler
mov ax,251ch
int 21h
ret
endp installTickHandler
proc terminateNormally
assume ds:nothing
mov ax,4c00h
int 21h
endp terminateNormally
start: call savePSP
call printBanner
call saveOldTickHandler
call requestMemory
call releaseMemory
call copyTickHandler
call installTickHandler
call terminateNormally
ends hackTime
end start